﻿#include"SeqList.h"
void test1(SL*ps)//测试尾插
{
	SLInit(ps);
	SLPushBack(ps, 10);
	SLPushBack(ps, 20);
	SLPushBack(ps, 30);
	SLPushBack(ps, 40);
	SLPrint(ps);
	SLDestroy(ps);
}
void test2(SL*ps)//测试头插
{
	SLInit(ps);
	SLPushFront(ps, 10);
	SLPushFront(ps, 20);
	SLPushFront(ps, 30);
	SLPushFront(ps, 40);
	SLPrint(ps);
	SLDestroy(ps);
}
void test3(SL*ps)//测试头删
{
	SLInit(ps);
	SLPushBack(ps, 10);
	SLPushBack(ps, 20);
	SLPushBack(ps, 30);
	SLPushBack(ps, 40);
	SLPopBack(ps);
	SLPopBack(ps);
	SLPrint(ps);
	SLDestroy(ps);
}
void test4(SL*ps)//测试尾删//
{
	SLInit(ps);
	SLPushBack(ps, 10);
	SLPushBack(ps, 20);
	SLPushBack(ps, 30);
	SLPushBack(ps, 40);
	SLPopFront(ps);
	SLPopFront(ps);
	SLPrint(ps);
	SLDestroy(ps);
}
void test5(SL* ps)
{
	SLInit(ps);
	SLPushBack(ps, 10);
	SLPushBack(ps, 20);
	SLPushBack(ps, 30);
	SLPushBack(ps, 40);
	SLInsert(ps, 3, 7);
	SLInsert(ps, 4, 9);
	SLPrint(ps);
	SLDestroy(ps);
}

void test6(SL* ps)
{
	SLInit(ps);
	SLPushBack(ps, 10);
	SLPushBack(ps, 20);
	SLPushBack(ps, 30);
	SLPushBack(ps, 40);
	SLErase(ps, 1);
	SLPrint(ps);
	SLErase(ps, 2);
	SLPrint(ps);
    SLDestroy(ps);
}
void test7(SL* ps)
{
	SLInit(ps);
	SLPushBack(ps, 10);
	SLPushBack(ps, 20);
	SLPushBack(ps, 30);
	SLPushBack(ps, 40);
	if (SLFind(ps, 10) == 1)
	{
		printf("找到了\n");
	}
	else
	{
		printf("未能找到\n");
	}
	SLDestroy(ps);
}

int main()
{
	SL ps;//创建一个结构题变量-传地址调用🆗-形参是实参的一份临时拷贝
	test1(&ps);//测试尾插 
	test2(&ps);//测试头插
	test3(&ps);//测试尾删
	test4(&ps);//测试头删
	test5(&ps);//任意位置插入
	test6(&ps);//任意位置删除
	test7(&ps);//查找
	return 0;
}

void menu()
{
	printf("*******************************\n");
	printf("1、尾插数据  2、尾删数据\n");
	printf("3、头插数据  4、头删数据\n");
	printf("5、打印数据  0、退出  \n");
	printf("*******************************\n");
}

//int main()
//{
//	SL s;
//	SLInit(&s);
//
//	int option = 0;
//	do
//	{
//		menu();
//		printf("请输入你的选择:>");
//		scanf("%d", &option);
//		if (option == 1)//尾插
//		{
//			printf("请依次输入你的要尾插数据个数和数据:>");
//			int n = 0;
//			scanf("%d", &n);
//			for (int i = 0; i < n; i++)
//			{
//				int x = 0;
//				scanf("%d", &x);
//				SLPushBack(&s, x);
//			}
//		}
//		else if (option == 2)//尾删
//		{
//			printf("请依次输入你的要尾删数据个数和数据:>");
//			int n = 0;
//			scanf("%d", &n);
//			for (int i = 0; i < n; i++)
//			{
//				int x = 0;
//				scanf("%d", &x);
//				SLPopBack(&s, x);
//			}
//		}
//		else if (option == 3)//头插
//		{
//			printf("请依次输入你的要头插数据个数和数据:>");
//			int n = 0;
//			scanf("%d", &n);
//			for (int i = 0; i < n; i++)
//			{
//				int x = 0;
//				scanf("%d", &x);
//				SLPushFront(&s, x);
//			}
//		}
//		else if (option == 4)//头删
//		{
//			printf("请依次输入你的要头删数据个数和数据:>");
//			int n = 0;
//			scanf("%d", &n);
//			for (int i = 0; i < n; i++)
//			{
//				int x = 0;
//				scanf("%d", &x);
//				SLPopFront(&s, x);
//			}
//		}
//		else if (option == 5)//打印
//		{
//			SLPrint(&s);
//		}
//		else if (option == 0)
//		{
//			break;
//		}
//		else
//		{
//			printf("无此选项，请重新输入\n");
//		}
//	} while (option != 0);
//
//	SLDestroy(&s);
//
//	return 0;
//}
//
//
///*printf("请输入你的要尾插的数据，以-1结束:>");
//			int x = 0;
//			scanf("%d", &x);
//			while (x != -1)
//			{
//				SLPushBack(&s, x);
//				scanf("%d", &x);
//			}*/